home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / etc / cron.daily / standard < prev   
Text File  |  2009-09-15  |  3KB  |  123 lines

  1. #!/bin/sh
  2. # /etc/cron.daily/standard: standard daily maintenance script
  3. # Written by Ian A. Murdock <imurdock@gnu.ai.mit.edu>
  4. # Modified by Ian Jackson <ijackson@nyx.cs.du.edu>
  5. # Modified by Steve Greenland <stevegr@debian.org>
  6.  
  7. # Start in the root filesystem, make SElinux happy
  8. cd /
  9. bak=/var/backups
  10. LOCKFILE=/var/lock/cron.daily
  11. umask 022
  12.  
  13. #
  14. # Avoid running more than one at a time 
  15. #
  16.  
  17. if [ -x /usr/bin/lockfile-create ] ; then
  18.     lockfile-create $LOCKFILE
  19.     if [ $? -ne 0 ] ; then
  20.     cat <<EOF
  21.  
  22. Unable to run /etc/cron.daily/standard because lockfile $LOCKFILE
  23. acquisition failed. This probably means that the previous day's
  24. instance is still running. Please check and correct if necessary.
  25.  
  26. EOF
  27.     exit 1
  28.     fi
  29.  
  30.     # Keep lockfile fresh
  31.     lockfile-touch $LOCKFILE &
  32.     LOCKTOUCHPID="$!"
  33. fi
  34.  
  35. #
  36. # Backup key system files
  37. #
  38.  
  39. if cd $bak ; then
  40.     cmp -s passwd.bak /etc/passwd || (cp -p /etc/passwd passwd.bak &&
  41.                       chmod 600 passwd.bak)
  42.     cmp -s group.bak /etc/group || (cp -p /etc/group group.bak &&
  43.                     chmod 600 group.bak)
  44.         if [ -f /etc/shadow ] ; then
  45.       cmp -s shadow.bak /etc/shadow || (cp -p /etc/shadow shadow.bak &&
  46.                                             chmod 600 shadow.bak)
  47.     fi
  48.         if [ -f /etc/gshadow ] ; then
  49.       cmp -s gshadow.bak /etc/gshadow || (cp -p /etc/gshadow gshadow.bak &&
  50.                           chmod 600 gshadow.bak)
  51.     fi
  52. fi
  53.  
  54. if cd $bak ; then
  55.     if ! cmp -s dpkg.status.0 /var/lib/dpkg/status ; then
  56.         cp -p /var/lib/dpkg/status dpkg.status
  57.         savelog -c 7 dpkg.status >/dev/null
  58.     fi
  59. fi
  60. #
  61. # Check to see if any files are in lost+found directories and warn admin
  62. #
  63. # Get a list of the (potential) ext2, ext3 and xfs l+f directories
  64. # Discard errors, for systems not using any of these.
  65. df -P --type=ext2 --type=ext3 --type=xfs 2>/dev/null |
  66. awk '/\/dev\// { print }' | sed -e 's/ [[:space:]]*/ /g'  |
  67. while read mount block used avail perc mp; do
  68.     [ "$mp" = "/" ] && mp=""
  69.     echo "$mp/lost+found"
  70. done |
  71. while read lfdir; do
  72. # In each directory, look for files
  73.     if [ -d "$lfdir" ] ; then
  74.     more_lost_found=`ls -1  "$lfdir" | grep -v 'lost+found$' | sed 's/^/    /'`
  75.     if [ -n "$more_lost_found" ] ; then
  76.         lost_found="$lost_found
  77.  
  78. $lfdir:
  79. $more_lost_found"
  80.         # NOTE: above weird line breaks in string are intentional!
  81.         fi
  82.     else
  83.         no_lost_found="$no_lost_found
  84. $lfdir"
  85.     fi
  86. done
  87.  
  88. # NOTE: This might need to be configurable if systems abound
  89. # w/o lost+found out there to prevent giving out this warning
  90. # every day.
  91. if [ -n "$lost_found" ]; then
  92.     cat << EOF
  93. Files were found in lost+found directories. This is probably
  94. the result of a crash or bad shutdown, or possibly of a disk
  95. problem. These files may contain important information. You
  96. should examine them, and move them out of lost+found or delete
  97. them if they are not important.
  98.  
  99. The following files were found:
  100. $lost_found
  101. EOF
  102. fi
  103.  
  104. if [ -n "$no_lost_found" ]; then
  105.     cat << EOF
  106. Some local filesystems do not have lost+found directories. This
  107. means that these filesystems will not be able to recover
  108. lost files when the filesystem is checked after a crash.
  109. Consider creating a lost+found directory with mklost+found(8).
  110.  
  111. The following lost+found directories were not available:
  112. $no_lost_found
  113. EOF
  114. fi
  115.  
  116. #
  117. # Clean up lockfile
  118. #
  119. if [ -x /usr/bin/lockfile-create ] ; then
  120.     kill $LOCKTOUCHPID
  121.     lockfile-remove $LOCKFILE
  122. fi
  123.